package com.hyt.it.ogt.kq.service.bm.model.vo;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;

@Data
@Accessors(chain = true)
public class InvoiceNotifyVo implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = -6433076822333514647L;

	@ApiModelProperty(value = "报名系统发票id")
	private String bmInvoiceId;

	@ApiModelProperty(value = "发票状态码：0000：开票成功；6666：未开票（撤回开票中发票）；9999：开票失败。")
	private String code;

	@ApiModelProperty(value = "发票状态描述（成功/失败原因）")
	private String msg;

	@ApiModelProperty(value = "开票类型1：蓝票；2：红票；3：蓝废；4：红废。")
	private String invoiceType;

	@ApiModelProperty(value = "发票请求流水号，旧")
	private String reqSerialNo;

	@ApiModelProperty(value = "发票请求流水号")
	private String invoiceReqSerialNo;

	@ApiModelProperty(value = "商户外部流水号")
	private String outTransNo;

	@ApiModelProperty(value = "订单号，开票成功时必传，失败时不传")
	private String tradeNo;

	@ApiModelProperty(value = "发票代码，开票成功时必传，失败时不传")
	private String invoiceCode;

	@ApiModelProperty(value = "发票号码，开票成功时必传，失败时不传")
	private String invoiceNo;

	@ApiModelProperty(value = "开票日期，开票成功时必传yyyy-MM-dd HH:mm:ss，失败时不传")
	private String invoiceDate;

	@ApiModelProperty(value = "发票下载Url，电子发票开票成功时，即发票种类代码为 10 或 08 时必传，失败时不传，不定长，Base64字符串，其他发票种类不传")
	private String downloadUrl;

	@ApiModelProperty(value = "效验码，开票成功时必传，失败时不传")
	private String securityCode;

	@ApiModelProperty(value = "购买方名称")
	private String buyerName;

	@ApiModelProperty(value = "购买方纳税人识别号")
	private String buyerTaxpayerNum;

	@ApiModelProperty(value = "购买方地址")
	private String buyerAddress;

	@ApiModelProperty(value = "购买方电话")
	private String buyerTel;

	@ApiModelProperty(value = "购买方开户行")
	private String buyerBankName;

	@ApiModelProperty(value = "购买方银行账号")
	private String buyerBankAccount;

}
